Methods, systems and media for associating multiple users with a media presentation device

ABSTRACT

Methods, systems, and media for associating multiple users with a media presentation device are provided. In some embodiments, the method comprises: receiving first user preferences; receiving second user preferences; receiving requests to associate the first user preferences and the second user preferences, respectively, with a media presentation device; causing the first user preferences and the second user preferences to be associated with identifying information of the media presentation device; receiving, from the media presentation device, a request to present a slideshow of images based on user preferences and identifying information of the first user device and a third user device; determining that the first user preferences are associated with the media presentation device; determining that user preferences of the third user device are not associated with the media presentation device; and causing content based on the first user preferences to be presented by the media presentation device.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of U.S. Provisional PatentApplication No. 62/016,421, filed Jun. 24, 2014, U.S. Provisional PatentApplication No. 62/016,428, filed Jun. 24, 2014, U.S. Provisional PatentApplication No. 62/016,575, filed Jun. 24, 2014, and U.S. ProvisionalPatent Application No. 62/016,580, filed Jun. 24, 2014. Each of theabove-referenced patent applications is hereby incorporated by referenceherein in its entirety.

TECHNICAL FIELD

The disclosed subject matter relates to methods, systems, and media forassociating multiple users with a media presentation device.

BACKGROUND

Media presentation devices that present background content, such as aslideshow of images, can access the content from a user account byreceiving and storing a username and password of the user account. Theusername and password are used to retrieve content associated with theaccount, which is then presented by the media presentation device.However, this requires user credentials to be stored by the mediapresentation device and also is limited to presenting content of onlyone user.

Accordingly, new methods, systems, and media for associating multipleusers with a media presentation device are desirable.

SUMMARY

In accordance with some implementations of the disclosed subject matter,mechanisms for associating multiple users with a media presentationdevice are provided.

In accordance with some implementations of the disclosed subject matter,a method for determining content to be presented is provided, the methodcomprising: receiving, using a hardware processor, first userpreferences associated with a first user; receiving, using the hardwareprocessor, second user preferences associated with a second user;receiving, from a first user device, a request to associate the firstuser preferences with a media presentation device; in response to therequest to associate the first user preferences with the mediapresentation device, causing the first user preferences to be associatedwith identifying information of the media presentation device;receiving, from a second user device, a request to associate the seconduser preferences with the media presentation device; in response to therequest to associate the second user preferences with the mediapresentation device, causing the second user preferences to beassociated with identifying information of the media presentationdevice; receiving, from the media presentation device, a request topresent a slideshow of images based on user preferences associated withthe media presentation device; receiving, from the media presentationdevice, identifying information of the first user device and identifyinginformation of a third user device; in response to receiving theidentifying information of the first user device, determining that thefirst user preferences are associated with the media presentationdevice; in response to receiving the identifying information of thethird user device, determining that there are not user preferencesassociated with a user of the third user device associated with themedia presentation device; and causing content to be presented by themedia presentation device based on user preferences associated with themedia presentation device including the first user preferences.

In accordance with some embodiments of the disclosed subject matter, asystem for determining content to be presented is provided, the systemcomprising: a hardware processor that is programmed to: receive firstuser preferences associated with a first user; receive second userpreferences associated with a second user; receive, from a first userdevice, a request to associate the first user preferences with a mediapresentation device; in response to the request to associate the firstuser preferences with the media presentation device, cause the firstuser preferences to be associated with identifying information of themedia presentation device; receive, from a second user device, a requestto associate the second user preferences with the media presentationdevice; in response to the request to associate the second userpreferences with the media presentation device, cause the second userpreferences to be associated with identifying information of the mediapresentation device; receive, from the media presentation device, arequest to present a slideshow of images based on user preferencesassociated with the media presentation device; receive, from the mediapresentation device, identifying information of the first user deviceand identifying information of a third user device; in response toreceiving the identifying information of the first user device,determine that the first user preferences are associated with the mediapresentation device; in response to receiving the identifyinginformation of the third user device, determine that there are not userpreferences associated with a user of the third user device associatedwith the media presentation device; and cause content to be presented bythe media presentation device based on user preferences associated withthe media presentation device including the first user preferences.

In accordance with some implementations of the disclosed subject matter,a non-transitory computer-readable medium containing computer executableinstructions that, when executed by a processor, cause the processor toperform a method for determining content to be presented, the methodcomprising: receiving first user preferences associated with a firstuser; receiving second user preferences associated with a second user;receiving, from a first user device, a request to associate the firstuser preferences with a media presentation device; in response to therequest to associate the first user preferences with the mediapresentation device, causing the first user preferences to be associatedwith identifying information of the media presentation device;receiving, from a second user device, a request to associate the seconduser preferences with the media presentation device; in response to therequest to associate the second user preferences with the mediapresentation device, causing the second user preferences to beassociated with identifying information of the media presentationdevice; receiving, from the media presentation device, a request topresent a slideshow of images based on user preferences associated withthe media presentation device; receiving, from the media presentationdevice, identifying information of the first user device and identifyinginformation of a third user device; in response to receiving theidentifying information of the first user device, determining that thefirst user preferences are associated with the media presentationdevice; in response to receiving the identifying information of thethird user device, determining that there are not user preferencesassociated with a user of the third user device associated with themedia presentation device; and causing content to be presented by themedia presentation device based on user preferences associated with themedia presentation device including the first user preferences.

In accordance with some implementations of the disclosed subject matter,a system for determining content to be presented is provided, the systemcomprising: means for receiving first user preferences associated with afirst user; means for receiving second user preferences associated witha second user; means for receiving, from a first user device, a requestto associate the first user preferences with a media presentationdevice; means for causing the first user preferences to be associatedwith identifying information of the media presentation device inresponse to the request to associate the first user preferences with themedia presentation device; means for receiving, from a second userdevice, a request to associate the second user preferences with themedia presentation device; means for causing the second user preferencesto be associated with identifying information of the media presentationdevice in response to the request to associate the second userpreferences with the media presentation device; means for receiving,from the media presentation device, a request to present a slideshow ofimages based on user preferences associated with the media presentationdevice; means for receiving, from the media presentation device,identifying information of the first user device and identifyinginformation of a third user device; means for determining that the firstuser preferences are associated with the media presentation device inresponse to receiving the identifying information of the first userdevice; means for determining that there are not user preferencesassociated with a user of the third user device associated with themedia presentation device in response to receiving the identifyinginformation of the third user device; and means for causing content tobe presented by the media presentation device based on user preferencesassociated with the media presentation device including the first userpreferences.

In some implementations, the system further comprises: means forreceiving, from the media presentation device, identifying informationof the second user device; and means for determining that the seconduser preferences are associated with the media presentation device inresponse to receiving the identifying information of the second device.

In some implementations, the system further comprises: means forgenerating a group identifier; means for associating the groupidentifier with the first device and the second device; means forgenerating combined user preferences based on the first user preferencesand the second user preferences; means for associating the combined userpreferences with the group identifier; and wherein the means for causingthe content to be presented by the media presentation device furthercomprises means for causing the content to be presented by the mediapresentation device based on the combined user preferences.

In some implementations, the system further comprises: means forreceiving an indication that the second user device is no longer inproximity to the presentation device; and means for inhibiting use ofthe combined user preferences in determining which content is to bepresented in response to receiving the indication.

In some implementations, the system further comprises: means forreceiving, from the second user device, a request to disassociate thesecond user preferences from the media presentation device; means forreceiving, from the media presentation device, identifying informationof the second user device; and means for determining that there are notuser preferences associated with the second user device associated withthe media presentation device in response to receiving the identifyinginformation of the second user device.

In some implementations, the system further comprises: means forreceiving, from the first user device, a request to associate the firstuser preferences with a second media presentation device; means forcausing the first user preferences to be associated with identifyinginformation of the second media presentation device in response to therequest to associate the first user preferences with the second mediapresentation device; means for receiving, from the second mediapresentation device, a request to present a slideshow of images based onuser preferences associated with the second media presentation device;means for receiving, from the second media presentation device,identifying information of the first user device; means for determiningthat the first user preferences are associated with the second mediapresentation device in response to receiving the identifying informationof the first device; and means for causing content to be presented bythe media presentation device based on user preferences associated withthe media presentation device including the first user preferences.

In some implementations, the first user preferences indicate one or moretopics of interest.

In accordance with some implementations of the disclosed subject matter,methods, systems, and media for presenting media content based on userpreferences are provided.

In accordance with some implementations of the disclosed subject matter,a method for presenting media content based on user preferences isprovided, the method comprising: detecting, using a hardware processor,a presence of a first user device associated with a first user and asecond user device associated with a second user, wherein the first userdevice and the second user device are detected by a media presentationdevice; receiving, from the first user device, a request to associatefirst user preferences of the first user with the media presentationdevice; receiving, from the second user device, a request to associatesecond user preferences of the second user with the media presentationdevice; causing at least a portion of the first user preferences and thesecond user preferences to be associated with the media presentationdevice; causing a slideshow of customized content based on the portionof the first user preferences and the second user preferences associatedwith the media presentation device to be presented, wherein thepresentation of each piece of customized content causes a plurality ofsupplemental information to be retrieved; and, based on the customizedcontent currently being presented on the media presentation device,causing first supplemental information from the plurality ofsupplemental information to be presented on the first user device basedon the first user preferences and second supplemental information fromthe plurality of supplemental information to be presented on the seconduser device based on the second user preferences.

In accordance with some implementations of the disclosed subject matter,a system for presenting media content based on user preferences isprovided, the system comprising: a hardware processor that is programmedto detect a presence of a first user device associated with a first userand a second user device associated with a second user, wherein thefirst user device and the second user device are detected by a mediapresentation device; receive, from the first user device, a request toassociate first user preferences of the first user with the mediapresentation device; receive, from the second user device, a request toassociate second user preferences of the second user with the mediapresentation device; cause at least a portion of the first userpreferences and the second user preferences to be associated with themedia presentation device; cause a slideshow of customized content basedon the portion of the first user preferences and the second userpreferences associated with the media presentation device to bepresented, wherein the presentation of each piece of customized contentcauses a plurality of supplemental information to be retrieved; andbased on the customized content currently being presented on the mediapresentation device, cause first supplemental information from theplurality of supplemental information to be presented on the first userdevice based on the first user preferences and second supplementalinformation from the plurality of supplemental information to bepresented on the second user device based on the second userpreferences.

In accordance with some implementations of the disclosed subject matter,a non-transitory computer-readable medium containing computer executableinstructions that, when executed by a processor, cause the processor toperform a method for presenting media content based on user preferencesis provided, the method comprising: detecting a presence of a first userdevice associated with a first user and a second user device associatedwith a second user, wherein the first user device and the second userdevice are detected by a media presentation device; receiving, from thefirst user device, a request to associate first user preferences of thefirst user with the media presentation device; receiving, from thesecond user device, a request to associate second user preferences ofthe second user with the media presentation device; causing at least aportion of the first user preferences and the second user preferences tobe associated with the media presentation device; causing a slideshow ofcustomized content based on the portion of the first user preferencesand the second user preferences associated with the media presentationdevice to be presented, wherein the presentation of each piece ofcustomized content causes a plurality of supplemental information to beretrieved; and, based on the customized content currently beingpresented on the media presentation device, causing first supplementalinformation from the plurality of supplemental information to bepresented on the first user device based on the first user preferencesand second supplemental information from the plurality of supplementalinformation to be presented on the second user device based on thesecond user preferences.

BRIEF DESCRIPTION OF THE DRAWINGS

Various objects, features, and advantages of the disclosed subjectmatter can be more fully appreciated with reference to the followingdetailed description of the disclosed subject matter when considered inconnection with the following drawings, in which like reference numeralsidentify like elements.

FIG. 1 shows an example of a generalized schematic diagram of a systemon which the mechanisms for associating multiple users with apresentation device as described herein can be implemented in accordancewith some implementations.

FIG. 2 shows an example of hardware that can be used to implement one ormore user devices, presentation devices and servers depicted in FIG. 1in accordance with some implementations of the disclosed subject matter.

FIG. 3 shows an example of a process for associating multiple users witha media presentation device in accordance with some implementations ofthe disclosed subject matter.

FIG. 4 shows an example of a display device presenting content inaccordance with some implementations of the disclosed subject matter.

FIG. 5 shows an example of a process for associating user preferenceswith a presentation device in accordance with some implementations ofthe disclosed subject matter.

FIG. 6 shows an example of a process for presenting customized contenton a presentation device in accordance with some implementations of thedisclosed subject matter.

FIG. 7 shows an example of a process for presenting supplementalinformation related to customized content in accordance with someimplementations of the disclosed subject matter.

DETAILED DESCRIPTION

In accordance with some implementations of the disclosed subject matter,mechanisms (which can include methods, systems and media) forassociating multiple users with a media presentation device areprovided.

In some implementations, these mechanisms can allow user preferences formultiple users to be associated with a single media presentation devicewithout the media presentation device storing personal data, such ascredentials and/or user preferences, of users and/or user devicesassociated with the user preferences. In some implementations, a userdevice such as a smartphone can be associated with the mediapresentation device in order to cause the media presentation device topresent content. For example, the smartphone can be associated with themedia presentation device to cause media content discovered using thesmartphone to be presented on a larger screen coupled to the mediapresentation application. In some implementations, a media presentationdevice can cause content that is to be presented to be automaticallyselected based on user preferences of users associated with the mediapresentation device. For example, during periods of time when the mediapresentation device is not being used to present content in response toa request from a user device, the media presentation application canpresent a slideshow of images. The images in the slideshow can beselected based on the user preferences of one or more users associatedwith the media presentation device. As another example, an applicationfor presenting content can recommend content to be presented based onuser preferences associated with the media presentation device. The userpreferences of multiple users present at the media presentation device(e.g., based on user devices associated with the users being present ona local network) can be used such that content selected for presentationcan be based on the user preferences of the multiple users if the users'preferences are associated with the presentation device.

In some implementations, the user preferences from one or more users canbe used to customize the content being presented by the mediapresentation device. In some implementations, a user preference forpresenting customized content can include any suitable informationrelated to content that may interest one or more users. For example, theuser preference can indicate a topic in which one or more users areinterested, such as “weather,” “news,” “stocks,” “photos,” “arts,” etc.As another example, the user preference can indicate a media source thatcan provide media content for presentation. In some implementations,such a media source can include a suitable service (e.g., a socialnetworking service, a video sharing service, a photo sharing service, afile hosting service, etc.), a storage device (e.g., a local storagedevice, a cloud storage device, a user device, etc.), an accountassociated with one or more users (e.g., a user account with a socialnetworking service and/or any other suitable service), and/or any othersuitable source that can provide media content for presentation.

In some implementations, the customized content can be presented as partof a user interface of the media presentation device, such as a homescreen or an initial launch screen of a media playback applicationexecuting on the media presentation device and/or any other suitabledisplay screen presented by the media presentation device.

In some implementations, the mechanisms can cause customized content tobe presented by the media presentation device based on the userpreferences. For example, the mechanisms can identify one or more topicsof interest to one or more users based on the user preferences. Themechanisms can then cause media content associated with the identifiedtopic(s) to be presented using the media presentation device. In a moreparticular example, a collection of popular images related to theidentified topic(s) can be presented by the media presentation device asa slideshow of images and/or in any other suitable manner. As anotherexample, the mechanisms can identify one or more media sourcesdesignated by the user preferences. The mechanisms can then cause mediacontent from the identified media source(s) to be presented by the mediapresentation device.

FIG. 1 shows an example 100 of a generalized schematic diagram of asystem on which the mechanisms for associating multiple users with apresentation device as described herein can be implemented in accordancewith some implementations. As illustrated, system 100 can include one ormore user devices 102. User devices 102 can be local to each other orremote from each other. User devices 102 can be connected by one or morecommunications links 104 to a communication network 106 that can belinked to a server 120 via a communications link 112.

System 100 can include one or more presentation devices 110.Presentation devices 110 can be local to each other or remote from eachother. Presentation devices 110 can be connected by one or morecommunications links 108 to communication network 106 that can be linkedto server 120 via communications link 112 and/or user devices 102 viacommunications link 104.

System 100 can include one or more servers 120. Server 120 can be anysuitable server or servers for providing access to the mechanismsdescribed herein for associating multiple users with a presentationdevice, such as a processor, a computer, a data processing device, orany suitable combination of such devices. For example, the mechanismsfor associating multiple users with a presentation device can bedistributed into multiple backend components and multiple frontendcomponents and/or user interfaces. In a more particular example, backendcomponents, such as mechanisms for receiving requests to associate userpreferences with a presentation device, requests identifying userpreferences associated with a particular presentation device, requeststo present content based on the user preferences, etc., can be performedon one or more servers 120. In another particular example, frontendcomponents, such as mechanisms for presenting content, requestingcontent to be presented, identifying user devices that are present,setting user preferences, causing a user device to be associated with apresentation device, etc., can be performed on one or more user devices102 and/or presentation device 110.

In some implementations, each of user devices 102, presentation device110 and server 120 can be any of a general purpose device such as acomputer or a special purpose device such as a client, a server, etc.Any of these general or special purpose devices can include any suitablecomponents such as a hardware processor (which can be a microprocessor,digital signal processor, a controller, etc.), memory, communicationinterfaces, display controllers, input devices, etc. For example, userdevice 102 can be implemented as a smartphone, a tablet computer, awearable computer, a laptop computer, a portable game console, any othersuitable computing device, or any suitable combination thereof. Asanother example, presentation device 110 can be implemented as a digitalmedia receiver, a media streaming device, a game console, a set-top box,a television, a projector, any other suitable computing device, or anysuitable combination thereof.

Communications network 106 can be any suitable computer network orcombination of such networks including the Internet, an intranet, awide-area network (WAN), a local-area network (LAN), a wireless network,a Wi-Fi network, a digital subscriber line (DSL) network, a frame relaynetwork, an asynchronous transfer mode (ATM) network, a virtual privatenetwork (VPN), an intranet, one or more peer-to-peer connections, etc.Each of communications links 104, 108, and 112 can be any communicationslinks suitable for communicating data among user devices 102,presentation device 110 and server 120, such as network links, dial-uplinks, wireless links, hard-wired links, any other suitablecommunications links, or any suitable combination of such links. Notethat, in some implementations, multiple servers 120 can be used toprovide access to different mechanisms associated with the mechanismsdescribed herein for associating multiple users with a mediapresentation device. For example, system 100 can include a userpreferences server 120 that stores user preferences associated with oneor more users and/or one or more user devices 102, a user preferencesdatabase server 120 that maintains one or more databases ofcorrespondence between users and/or user devices 102 with which aparticular presentation device 110 is associated, a content deliveryserver 120 that determines which content to cause to be presented by theparticular presentation device 110 based on the user preferences ofusers and/or user devices 102 associated with presentation device 110,and/or any other suitable servers for performing any suitable functionsof the mechanisms described herein.

In some implementations, user device 102 can be associated with useridentifying information 130. User identifying information 130 canidentify a user of user device 102 and/or can identify user device 102.For example, in some implementations, user identifying information 130can be a token or other data associated with a user of user device 102.For example, the token or other data can identify a user associated witha particular user account of a product and/or service. In a moreparticular example, such a token or other information can include astring of characters that is associated with a particular email addressthat was used to sign in to an application on the user device. Asanother example, user identifying information 130 can be identifyinginformation of user device 102, such as a MAC address, a device ID, aserial number, and/or any other suitable identifying information of userdevice 102. As yet another example, user identifying information 130 canbe a combination of identifying information of a user and identifyinginformation of user device 102.

In some implementations, presentation device 110 can be associated withpresentation device identifying information 140. Presentation deviceidentifying information 140 can identify a user of presentation device110 and/or presentation device 110. For example, in someimplementations, device identifying information 140 can be a token orother data associated with a user of presentation device 110. Forexample, the token or other data can identify a user associated with aparticular user account of a product and/or service. In a moreparticular example, such a token or other information can include astring of characters (which can be, for example, randomly assigned) thatis associated with a particular email address that was used as acredential to log in to an application on the presentation device. Asanother example, presentation device identifying information 140 can beidentifying information of presentation device 110, such as a MACaddress, a device ID, a serial number, and/or any other suitableidentifying information of presentation device 110. As yet anotherexample, presentation device identifying information 140 can be acombination of identifying information of a user and identifyinginformation of presentation device 110. In some implementations,presentation device identifying information 140 can include semanticallymeaningful identifying information, such as a user assigned name (e.g.,“Brett's Living Room Streaming Device”).

In some implementations, presentation device identifying information 140can include a persistent identifier for presentation device 110 that canbe assigned based on any suitable conditions. For example, a device IDof presentation device 110 can be assigned when presentation device 110is initialized and/or reinitialized. In a more particular example,during initialization presentation device 110 can contact a server torequest a persistent device ID. In some implementations, this device IDcan be assigned by the server such that each presentation device has aunique device ID. Additionally, presentation device 110 can receive adifferent device ID upon presentation device 110 being reset orotherwise reinitialized. In some implementations, such a device ID canbe used to associate user preferences and/or any other suitableinformation (e.g., at a server) with presentation device 110 for lateruse in determining content to be presented using presentation device110.

In some implementations, server 120 can store a user preferencesdatabase 150. User preferences database 150 can include user preferencesassociated with a user of a particular user device 102 (e.g., associatedwith user identifying information 130 of that user device 102).Additionally or alternatively, in some implementations, user preferencesdatabase 150 can include information identifying which users areassociated with which presentation devices (e.g., by relating useridentifying information 130 and presentation device identifyinginformation 140). In some implementations, information in userpreferences database 150 can be organized using any suitable techniqueor combination of techniques. For example, user preferences database 150can be organized as a relational database.

In some implementations, information stored in user preferences databasecan be stored such that personal information of a user is obscured. Forexample, user identifying information 130 and/or presentation deviceidentifying information 140 can be an assigned identification numberand/or code name and user preferences can be associated with such anidentification number and/or code name.

FIG. 2 shows an example 200 of hardware that can be used to implementone or more of user devices 102, presentation devices 110 and servers120 depicted in FIG. 1 in accordance with some implementations of thedisclosed subject matter. Referring to FIG. 2, user device 102 caninclude a hardware processor 202, a display/input device 204, memory 206and a transmitter/receiver 208, which can be interconnected. In someimplementations, memory 206 can include a storage device (such as acomputer-readable medium) for storing a user device program forcontrolling hardware processor 202.

Hardware processor 202 can use the user device program to execute and/orinteract with the mechanisms described herein for associating multipledevices with a media presentation device, controlling presentation ofthe content on the media presentation device, disassociating userpreferences from the media presentation device, setting userpreferences, etc. In some implementations, the user device program cancause hardware processor 202 to, for example, interact with a deviceexecuting at least a portion of process 300 as described below inconnection with FIG. 3. In some implementations, hardware processor 202can send and receive data through communications link 104 or any othercommunication links using, for example, a transmitter, a receiver, atransmitter/receiver, a transceiver, or any other suitable communicationdevice, such as transmitter/receiver 208. Display/input device 204 caninclude a touchscreen, a flat panel display, a cathode ray tube display,a projector, a speaker or speakers, and/or any other suitable displayand/or presentation devices, and/or can include a computer keyboard, acomputer mouse, one or more physical buttons, a microphone, a touchpad,a voice recognition circuit, a touch interface of a touchscreen, acamera, a motion sensor such as an optical motion sensor and/or anaccelerometer, a temperature sensor, a near field communication sensor,a biometric data sensor, and/or any other suitable input device.Transmitter/receiver 208 can include any suitable transmitter and/orreceiver for transmitting and/or receiving, among other things,instructions for presenting content, instructions for setting userpreferences, instructions for associating user preferences with apresentation device, etc., and can include any suitable hardware,firmware and/or software for interfacing with one or more communicationnetworks, such as network 106 shown in FIG. 1. For example,transmitter/receiver 208 can include network interface card circuitry,wireless communication circuitry, and/or any other suitable type ofcommunication network circuitry, one or more antennas, and/or any othersuitable hardware, firmware and/or software for transmitting and/orreceiving signals.

Presentation device 110 can include a hardware processor 212, adisplay/input device 214, memory 216 and a transmitter/receiver 218,which can be interconnected. In some implementations, memory 216 caninclude a storage device (such as a computer-readable medium) forstoring a presentation device program for controlling hardware processor212.

Hardware processor 212 can use the presentation device program toexecute and/or interact with the mechanisms described herein forassociating multiple users with a media presentation device, requestingcontent to present based on user preferences of associated users,request and/or transmit presentation device identifying information 140,etc. In some implementations, the presentation device program can causehardware processor 212 to, for example, interact with a device executingat least a portion of processes 300, 500, 600 and 700 as described belowin connection with FIGS. 3 and 5-7, respectively. In someimplementations, hardware processor 212 can send and receive datathrough communications link 108 or any other communication links using,for example, a transmitter, a receiver, a transmitter/receiver, atransceiver, or any other suitable communication device, such astransmitter/receiver 218. Display/input device 214 can include atouchscreen, a flat panel display, a cathode ray tube display, aprojector, a speaker or speakers, and/or any other suitable displayand/or presentation devices, and/or can include a computer keyboard, acomputer mouse, one or more physical buttons, a microphone, a touchpad,a voice recognition circuit, a touch interface of a touchscreen, acamera, a motion sensor such as an optical motion sensor and/or anaccelerometer, a temperature sensor, a near field communication sensor,a biometric data sensor, and/or any other suitable input device. In someembodiments, display/input device 214 of presentation device 110 can beomitted. Transmitter/receiver 218 can include any suitable transmitterand/or receiver for transmitting and/or receiving, among other things,requests for content to be presented, content to be presented, signalsto determine whether one or more user devices 102 are present, etc., andcan include any suitable hardware, firmware and/or software forinterfacing with one or more communication networks, such as network 106shown in FIG. 2. For example, transmitter/receiver 218 can includenetwork interface card circuitry, wireless communication circuitry, USBinput and/or output circuitry, HDMI input and/or output circuitry,and/or any other suitable type of communication network circuitry, oneor more antennas, and/or any other suitable hardware, firmware and/orsoftware for transmitting and/or receiving signals.

Server 120 can include a hardware processor 222, a display/input device224, memory 226 and a transmitter/receiver 228, which can beinterconnected. In some implementations, memory 228 can include astorage device for storing data received through communications link 112or through other links. The storage device can further include a serverprogram for controlling hardware processor 222. In some implementations,memory 228 can include information stored as a result of user activityand/or activity by a presentation device (e.g., user preferences, useridentifying information 130, presentation device identifying information140, user preferences database 150, content to be presented, requestsfor content to be presented, user credentials for use in accessingcontent to be presented, etc.). In some implementations, the serverprogram can cause hardware process 222 to, for example, execute at leasta portion of process 300, 500, 600 and 700 as described below inconnection with FIGS. 3 and 5-7, respectively.

Hardware processor 222 can use the server program to communicate withuser devices 102 and/or presentation device 110 as well as provideaccess to and/or copies of the mechanisms described herein. It shouldalso be noted that data received through communications link 112 or anyother communications links can be received from any suitable source. Insome implementations, hardware processor 222 can send and receive datathrough communications link 112 or any other communications links using,for example, a transmitter, a receiver, a transmitter/receiver, atransceiver, or any other suitable communication device, such astransmitter/receiver 228. In some implementations, hardware processor222 can receive commands and/or values transmitted by one or more userdevices 102, presentation device 110, one or more other servers 120,and/or one or more users of server 120, such as a user that makeschanges to adjust settings associated with the mechanisms describedherein for associating multiple users with a media presentation device.Display 224 can include a touchscreen, a flat panel display, a cathoderay tube display, a projector, a speaker or speakers, and/or any othersuitable display and/or presentation devices, and/or can include acomputer keyboard, a computer mouse, one or more physical buttons, amicrophone, a touchpad, a voice recognition circuit, a touch interfaceof a touchscreen, a camera, a motion sensor such as an optical motionsensor and/or an accelerometer, a temperature sensor, a near fieldcommunication sensor, a biometric data sensor, and/or any other suitableinput device. Transmitter/receiver 228 can include any suitabletransmitter and/or receiver for transmitting and/or receiving, amongother things, content to be presented, user preferences, useridentifying information 130, presentation device identifying information140, requests for content, etc., and can include any suitable hardware,firmware and/or software for interfacing with one or more communicationnetworks, such as network 106 shown in FIG. 2. For example,transmitter/receiver 228 can include network interface card circuitry,wireless communication circuitry, and/or any other suitable type ofcommunication network circuitry, one or more antennas, and/or any othersuitable hardware, firmware and/or software for transmitting and/orreceiving signals.

In some implementations, server 120 can be implemented in one server orcan be distributed as any suitable number of servers. For example,multiple servers 120 can be implemented in various locations to increasereliability and/or increase the speed at which the server cancommunicate with user devices 102 and/or presentation device 110.Additionally or alternatively, as described above in connection withFIG. 1, multiple servers 120 can be implemented to perform differenttasks associated with the mechanisms described herein.

FIG. 3 shows an example 300 of a process for associating multiple userswith a media presentation device in accordance with some implementationsof the disclosed subject matter. As shown in FIG. 3, process 300 canbegin, at 302, by receiving new and/or updated user preferences to beused in processes involving devices with which the user preferences havebeen associated. In some implementations, such user preferences can, forexample, include a user's stated interests, a user's implied interests,media content that the user has consumed, media content and/or productsabout which the user has commented on and/or that the user has rated,and/or any other suitable information about the user. In someimplementations, a user's implied interests can be based on user actionssuch as what types of media content the user consumes, what types ofproducts the user buys, the user's actions with relation to the contentand/or products (e.g., whether the user is engaged with thecontent/product by commenting and/or “liking” the content/product, arating given to the content/product, etc.). In some implementations, auser is given an opportunity to determine which information is used indetermining user preferences. For example, in some implementations, userpreferences can be manually entered by a user. As another example, insome implementations, a user can select one or more sources ofinformation that may or may not be used in determining user preferences.In some implementations, user preferences can be updated in response toa user instruction to update user preferences (e.g., in response to auser editing user preferences, making changes to permissions of whichsources of information can be used for determining user preferences,etc.). Additionally or alternatively, user preferences can be updatedautomatically based on any suitable criteria or criterion, such as inresponse to an event (e.g., in response to the user taking an actionwith relation to content and/or a product), in response to a particularperiod of time having elapsed, etc.

At 304, process 300 can cause the new and/or updated user preferences tobe stored in connection with the user to which the user preferencespertain. Any suitable technique or combination of techniques can be usedto determine to which user the user preferences received at 302 pertain.For example, user identifying information (e.g., user identifyinginformation 130) associated with information used to set the new and/orupdated user preferences received at 302 can be used to associate theuser preferences with a particular user. As another example, identifyinginformation of an account that caused the new and/or updated usersettings to be submitted to a device executing process 300 can be usedto associate the user preferences with a particular user. In someimplementations, actions performed on multiple devices can be associatedwith the same user, based on identifying information of the user deviceused to perform an action and/or identifying information of an accountto which the device was logged in when the action was performed. Forexample, multiple user devices can be associated with a user byregistering the user device to the user. In a more particular example,actions performed on such a user device can be attributed to the user byusing identifying information associated with each user device (e.g.,user identifying information 130). As another example, in cases when anapplication used to perform an action is associated with a user account(e.g., by logging in to the user account though the application), anaction can be associated with the user regardless of whether the deviceused to perform the action is otherwise associated with the user (oranother user).

At 306, process 300 can determine whether a request to associateparticular user preferences with a particular presentation device hasbeen received. In some implementations, such a request can be associatedwith a particular user based on user identifying information (e.g., useridentifying information 130) associated with the request. Additionally,in some implementations, such a request can be associated with aparticular presentation device based on presentation device identifyinginformation (e.g., presentation device identifying information 140)associated with the request. In some implementations, such a request canbe initiated by any suitable device (e.g., user device 102, presentationdevice 110, etc.) and in response to any suitable action performed onsuch a device. For example, user device 102 can cause a request toassociate a user of user device 102 (e.g., based on user identifyinginformation 130) with a particular presentation device 110 to be sent toserver 120 executing at least a portion of process 300 in response toand/or as part of a request initiated by a user to present particularcontent on presentation device 110. As another example, presentationdevice 110 can cause a request to associate a user of user device 102with presentation device 110 to be sent to server 120 executing at leasta portion of process 300 in response to presentation device 110receiving an instruction from such a user device 102 to perform anysuitable action. As yet another example, user device 102 can cause arequest to associate a user of user device 102 (e.g., based on useridentifying information 130) with a particular presentation device 110to be sent to server 120 executing at least a portion of process 300 inresponse to any suitable user action initiating such an association.

If process 300 determines that such a request has been received (“YES”at 306), process 300 can proceed to 308. At 308, process 300 can causeuser preferences associated with the user (e.g., a user identified byuser identifying information received with the request) that caused therequest received at 306 to be sent, to be associated with thepresentation device (a presentation device identified by presentationdevice identifying information received with the request). Such anassociation can, for example, be stored in a database or list (e.g.,user preferences database 150) such that the association can bedetermined at a later time.

If process 300 determines that a request to associate user preferenceswith a presentation device has not been received (“NO” at 306), process300 can proceed to 310. At 310, process 300 can determine whether arequest to present content based on user preferences associated with apresentation device has been received. In some implementations, such arequest can be a request for content to be presented by the presentationdevice, where the content that is to be presented is determined, atleast in part, by a server. In such implementations, the server (whichmay or may not be a server executing process 300) can use userpreferences to determine which content is to be presented. In someimplementations, a determination as to which user preferences to use indetermining the content to be presented can be based, at least in part,on which users are associated with the presentation device that isrequesting the content.

If process 300 determines that such a request has been received (“YES”at 310), process 300 can proceed to 312. At 312, process 300 can receiveidentifying information of user devices detected as being present by therequesting presentation device (e.g., a device associated with therequest received at 310). In some implementations, any suitabletechnique or combination of techniques can be used to detect thepresence of a particular user device. For example, presentation device110 can detect user devices that are connected to a same local networkas presentation device 110 (e.g., a LAN including a Wi-Fi network). Asanother example, presentation device 110 can broadcast and/or unicastone or more messages targeting nearby user devices 102 using anysuitable communication techniques, such as peer-to-peer communicationtechniques. In a more particular example, presentation device 110 canuse transmitter/receiver 218 to transmit one or more signals (e.g.,using any suitable communication standard such as Bluetooth, wirelessUSB, etc.) to any nearby user devices 102 which can, in some cases,receive the signal using transmitter/receiver 208 and respond with amessage indicating that the user device is present. In another moreparticular example, presentation device 110 can use a speaker to emit asignal as sound waves, which can be outside the range of human hearing,to any nearby user devices 102 which can, in some cases, receive thesignal using a microphone and respond with a message indicating that theuser device is present.

In some implementations, in lieu of or in addition to a user device 102responding to a signal from presentation device 110 to detect presenceof user devices 102, user device 102 can transmit a signal to server 120identifying itself as being in the presence of presentation device 110.

At 314, process 300 can cause content to be presented by thepresentation device based on user preferences of users associated withuser devices identified by information received at 312. In someimplementations, process 300 can compare identifying information foreach user received at 312 to user preferences stored in association withthe presentation device that requested the content. In suchimplementations, for users not associated with the presentation device,process 300 can inhibit any user preferences of the non-associated usersfrom being used in determining which content to present. For example,presentation device 110 and/or user devices 102 can send identifyinginformation (e.g., a MAC address, a device ID, etc.) of all user devicesthat receive the signal from presentation device 110 and/or respond tosuch a signal, and server 120 executing process 300 can determine whichof those devices are associated with a user that has user preferencesassociated with presentation device 110.

In some implementations, process 300 can cause user preferences of usersthat are associated with the presentation device that sent the requestfor content to be retrieved for use in determining which content is tobe presented by the requesting user device. Additionally, in someimplementations, a device executing process 300 (e.g., a first server120) or any other suitable device or combination of devices (e.g., oneor more other servers 120) can use the retrieved user preferences in anysuitable combination to determine content that is to be presented by arequesting presentation device.

In some implementations, identifying information of user devicesreceived at 312 can be grouped by process 300 using a group ID and/orany other suitable information to identify a particular combination ofdevices that are present. In such implementations, the group ID cancorrespond to user devices that are detected and for which there areuser preferences associated with presentation device 110. When acombination of user devices that is different from combinations of userdevices represented by existing group IDs is in proximity to apresentation device, a new group ID can be associated with the newcombination. User preferences corresponding to all user devicesrepresented by a group ID can be combined and associated with the groupID. These user preferences can then be used when that combination ofdevices is present. For example, when a first group of user devices ispresent a user preferences associated with first group ID can be used todetermine content that is to be presented by a presentation device. Insuch an example, when another user device that has user preferencesassociated with the presentation device becomes present (e.g., a newuser associates preferences with the user device, a user device withuser preferences already associated comes into proximity of the device,etc.) of when a device that is present is no longer present (e.g., auser disassociates their user device from the presentation device, auser device leaves a proximity of the presentation device, etc.), userpreferences associated with a different group ID can be used indetermine which content is to be presented. In some implementations,user preferences associated with a group ID can be updated in responseto any suitable action (e.g., user preferences of a particular userbeing updated, a user disassociating from the presentation device, aftera predetermined period of time has elapsed, etc.).

In some implementations, in response to the user preferences being usedto identify which content to present, a device executing process 300and/or any other suitable processes, can cause the requestingpresentation device to present the identified content.

FIG. 4 shows an example of a display device 402 presenting content 404in accordance with some implementations of the disclosed subject matter.In some implementations, display device 402 can be operatively coupledto a presentation device (e.g., presentation device 110) and/or apresentation device can be incorporated into display device 402. In someimplementations, content 404 can be default content associated withpresentation device 110, such as a collection of images from one sourceor multiple sources (e.g., a locally stored database of images, imagesstored on the presentation device, a server, etc.). In someimplementations, the collection of images can be displayed as aslideshow of images. For example, each of the images in the slideshowcan be presented one (or many) at a time for a predetermined period oftime (e.g., fifteen seconds, thirty seconds, etc.).

In some implementations, upon detecting the presence of one or more userdevices 102 that are associated with presentation device 110, themechanisms can retrieve one or more user preferences associated withuser device(s) 102 (e.g., as described above in connection with process300 of FIG. 3) and can cause customized content to be presented ondisplay device 402 based on the retrieved user preferences. For example,the mechanisms can identify a media source (e.g., a service, a localstorage device, etc.) designated by the retrieved user preferences andcan cause media content provided by the media source to be presented ondisplay device 402. As another example, the mechanisms can identify oneor more topics in which one or more users associated with user device(s)102 might interested based on the user preferences and can cause mediacontent related to the identified topic(s) to be presented by displaydevice 402. In a more particular example, the mechanisms can cause mediacontent about weather or traffic information to be presented in responseto determining that the user(s) may be interested in such informationbased on the user preferences. In another more particular example, themechanisms can cause images from one or more users associated with userdevice(s) 102 (e.g., photos published by a user associate with userdevice(s) 102 via a social networking service) to be presented inresponse to determining that the user(s) might be interested in personalphotos based on the retrieved user preferences.

In some implementations, the mechanisms can cause supplementalinformation related to content 404 to be presented on one or more userdevices that are in a proximity of display device 404, such as userdevice(s) 102 associated with presentation device 110, a user device 406that is not associated with presentation device 110, and/or any othersuitable user device. For example, when presenting an image of apainting on display device 402, the mechanisms can cause informationrelated to the painting (e.g., information about the artist of thepainting, reviews related to the painting, a link to information aboutthe painting, etc.) to be presented by user devices 102 and/or 406. Asanother example, when presenting a representation of a news article(e.g., a snippet of the news article, a picture of the news article,etc.) on display device 402, the mechanisms can cause a link to the newsarticle, one or more links to other news documents (e.g., a similararticle, a follow-up article, etc.), and/or any other suitableinformation related to the news article to be presented by user devices102 and/or 406.

In some implementations, supplemental information related to content 404can be presented by a user device (e.g., user devices 102 and/or 406)using any suitable content item, such as one or more content items 408as shown in FIG. 4. In some implementations, content item(s) 408 can bepresented using text, images, icons, graphics, videos, animations, audioclips, hypertext, hyperlinks, sounds, and/or any other suitable mediacontent. In some implementations, one or more suitable portions ofcontent item(s) 408 can be user selectable. For example, the mechanismscan cause the news article and/or content related to the news article tobe presented on the user device (e.g., using a web browser application,etc.) in response to receiving a user selection of a content item 408corresponding to a news article at the user device.

Turning to FIG. 5, an example 500 of a process for associating userpreferences with a presentation device in accordance with someimplementations of the disclosed subject matter is shown.

As illustrated, process 500 can begin by receiving identifyinginformation about a user at 502. In some implementations, theidentifying information can include any suitable information that can beused to identify a user and/or a user device associated with the user.For example, the identifying information can be user identifyinginformation 130 as discussed above in connection with FIG. 1. In a moreparticular example, the identifying information can be and/or include anemail address, a username, a pass code, an image, a uniform resourceidentifier (URI), a fingerprint, and/or any other suitable informationthat can be used to identify the user and/or an account associated withthe user (e.g., a user account with a social networking service, a videosharing service, a file hosting service, a photo sharing service, amessaging service, etc.). As another more particular example, theidentifying information can include a device identifier, a media addresscontrol (MAC) address, a serial number, a product identifier, and/or anyother suitable information that can be used to identify a user deviceassociated with the user.

At 504, process 500 can associate the identifying information with auser identifier. In some implementations, a user identifier can be astring, a number, or any suitable combination of numbers, letters,characters, symbols, etc. that can be used to uniquely identify a userand/or a user device associated with the user. In some implementations,the user identifier can have any suitable length and value.

In some implementations, process 500 can identify an existing useridentifier that has been associated with the user and can then associatethe identifying information with the existing user identifier.Additionally or alternatively, process 500 can generate a useridentifier upon receiving the identifying information using a hashfunction, a random number generator, a pseudorandom number generator,and/or any other suitable mechanism that can be used to generate a useridentifier.

At 506, process 500 can identify a presentation device to be associatedwith the user. In some implementations, the presentation device can beidentified using any suitable identifying information related to thepresentation device (e.g., as described above in connection with 308 ofFIG. 3), such as a device identifier, a media address control (MAC)address, a serial number, a product identifier, an IP address, and/orany other suitable information that can be used to identify thepresentation device.

In some implementations, the identifying information can be obtained inany suitable manner. For example, process 500 can discover apresentation device using any suitable device discovery protocol. In amore particular example, a presentation device that is in a proximity ofa user device associated with the user and/or that is connected to agiven network (e.g., a Wi-Fi network) can be discovered as describedbelow in connection with 702 of FIG. 7. Additionally or alternatively,process 500 can prompt the user to provide identifying informationrelated to the presentation device.

At 508, process 500 can receive one or more user preferences forpresenting customized content using the presentation device. In someimplementations, a user preference for presenting customized content caninclude one or more topics that the user is interested in, such as“personal photos,” “arts,” “news,” “lifestyle,” “weather,” “stocks,”etc.

In some implementations, a user preference for presenting customizedcontent can indicate one or more media sources that can provide contentfor presentation. In a more particular example, the media source(s) canbe and/or include a service associated with and/or designated by theuser, such as a social networking service, a video sharing service, aphoto sharing service, a file sharing and/or storage service, a mediastreaming service, a messaging service, a website, etc. In another moreparticular example, the media source(s) can be and/or include a deviceassociated with and/or designated by the user, such as a user deviceassociated with the user, a storage device, etc. that can provide mediacontent for presentation.

At 510, process 500 can associate the received user preferences with theuser and/or the presentation device. For example, process 500 can storethe user preferences in a database indexed by user and/or presentationdevice (e.g., as described above in connection with 308 of FIG. 3). In amore particular example, the user preferences can be stored inassociation with the user identifier, identifying information related tothe presentation device, and/or any other suitable information, suchthat, in response to receiving a subsequent request for customizedcontent and/or supplemental information related to customized contentrelating to a particular presentation device, a service can retrieveand/or determine customized content and/or supplemental informationbased on user preferences and/or any other suitable informationassociated with the presentation device.

Noted that in some implementations in which the mechanisms describedherein collect information about a particular user, the user can beprovided with an opportunity to control whether the mechanisms collectinformation about particular users and/or how collected user informationis used by the mechanisms. Examples of information about a user caninclude the user's interests and identifying information of the user(e.g., a user profile, user credentials, device identification, etc.).Additionally, certain information about the user can be stored locally(e.g., not shared), encrypted, and/or treated in one or more ways beforeit is stored to remove personally identifiable information. For example,the mechanisms described herein can store user preferences and/or userinterests for a particular user with an anonymous user identifier (e.g.,a user identifier that is not associated with the user's name, theuser's username and/or password, the user's email address, etc.). Usingthese techniques, the user can have control over what information iscollected about the user and/or how that information is used by themechanisms described herein.

FIG. 6 shows an example 600 of a process for presenting customizedcontent on a presentation device in accordance with some implementationsof the disclosed subject matter.

As illustrated, process 600 can begin by causing content from apresentation device to be presented by a display device at 602. Notethat, as described above in connection with FIGS. 1, 2 and 4, apresentation device (e.g., presentation device 110) can be operativelyconnected to and/or incorporated into a display device (e.g., displaydevice 402). In some implementations, process 600 can cause content tobe presented as part of 314 described above in connection with FIG. 3.In some implementations, the content can include images, video content,audio content, text, etc. For example, process 600 can present acollection of images as a slideshow of images. In some implementations,each of the images in the slideshow can be presented one at a time for apredetermined period of time (e.g., fifteen seconds, thirty seconds,etc.). In such implementations, the slideshow can include images fromone source or multiple sources (e.g., a locally stored database ofimages, images stored on the presentation device, a server, etc.). Insome implementations, the content can be presented periodically (e.g.,every 15 seconds, every minute, etc.).

At 604, process 600 can determine whether a user is present in aproximity of the presentation device. For example, process 600 candetect the presence of a user by detecting one or more user devicesassociated with the user. In a more particular example, process 600 candetect the presence of a user device that is in a proximity of thepresentation device using a BLUETOOTH Service Discovery Protocol (SDP)and/or any other suitable SDP that allows a device to discover otherdevices through a short-range connection. In another more particularexample, process 600 can initiate device discovery on a network to whichthe presentation device is connected. More particularly, for example,process 600 can search for user devices on a network (e.g., a WiFinetwork) utilizing the Discovery And Launch (DIAL) protocol and/or anyother suitable protocol.

As another example, process 600 can detect the presence of a user basedon image data of the user. In a more particular example, process 600 canreceive image data of the user from one or more suitable cameras.Process 600 can then detect the presence of the user using suitableobject detection technique, object tracking technique, and/or any othersuitable technique or combination of techniques.

In some implementations, process 600 can loop back to 602 in response tofailing to detect a user in a proximity of the presentation device (“NO”at 604). Alternatively, in response to detecting the presence of one ormore users in the proximity of the presentation device, process 600 canidentify the detected user or users at 606. For example, process 600 cancompare identifying information related to a user device associated witha detected user (e.g., a device identifier, an IP address, a URI, a MAC,etc.) to known identifying information related to known user devicesthat are associated with the presentation device to find a match. Asanother example, process 600 can identify the detected user(s) using anysuitable facial recognition technique or combination of techniques. In amore particular example, process 600 can generate a set of facialfeatures based on image data of the detected user(s) and can compare thegenerated facial features with known facial features of known users thatare associated with the presentation device to find a match.

In some implementations, any suitable user can be considered a userassociated with the presentation device. In some implementations, one ormore users and/or one or more user devices associated with the user(s)can be associated with the presentation device using process 300 of FIG.3, process 500 of FIG. 5 and/or any other suitable process.

At 608, process 600 can receive one or more user preferences associatedwith the identified user(s). In some implementations, upon identifyingmultiple users at 606, process 600 can retrieve a user preference foreach of the identified users. In some implementations, the received userpreferences can include any suitable information for presentingcustomized content using the presentation device. In someimplementations, the user preferences can be received from one or moreusers and/or be associated with the presentation device as describedabove in connection with process 500 of FIG. 5 and/or in any othersuitable manner.

In some implementations, identifying information of user devices and/orusers identified at 606 can be grouped by process 600 using a group IDand/or any other suitable information to identify devices that arepresent. For example, a group ID can be used as described above inconnection with 312 of FIG. 3.

At 610, process 600 can present customized content using thepresentation device based on the user preferences. In someimplementations, the customized content can be presented by causing anysuitable media content, such as images, video content, audio content,multimedia content, text, etc., to be presented by a display device.

In some implementations, the customized content can be presented in anysuitable manner. For example, process 600 can identify one or moretopics in which one or more of the identified users may be interestedbased on the user preferences, such as a topic included in a userpreference of a particular user associated with the presentation device,a common topic included in user preferences of multiple users associatedwith the presentation device, etc. Process 600 can then cause mediacontent related to the identified topic(s) to be presented using thepresentation device. In a more particular example, in response todetermining that the user preferences associated with the identifiedusers include a common topic of “stocks,” process 600 can causeinformation about one or more stocks and/or news about one or morecompanies associated with the one or more stocks to be presented on thedisplay device. In another more particular example, in response todetermining that the user preferences indicate that the identifieduser(s) are interested in “personal photos,” process 600 can causephotos of one or more of the identified users to be presented on thedisplay device. In some implementations, these photos can include photosthat are published by a user on a social networking service, photos thatare stored in a user device associated with the users, etc.

As another example, process 600 can identify a media source associatedwith one or more of the identified users based on the user preferences,such as a website, a service (e.g., a video hosting service, a photosharing service, a file sharing service, a social networking service,etc.), a device (e.g., a user device, a storage device, etc.), and/orany other suitable media source designated by one or more userpreferences. Process 600 can then cause media content provided by theidentified media source to be presented by the presentation device. In amore particular example, process 600 can cause media content (e.g.,photos, video content, audio content, etc.) stored in a user devicedesignated by the user preferences to be presented by the presentationdevice. In another more particular example, process 600 can cause mediacontent published on a social network (social media posts, photos,videos, etc. associated with a user account of one or more of theidentified users) to be presented by the presentation device.

FIG. 7 shows an example 700 of a process for presenting supplementalinformation related to customized content in accordance with someimplementations of the disclosed subject matter. In someimplementations, process 700 can be implemented using one or more userdevices and servers, such as a user device 102 as shown in, anddescribed, above in connection with FIGS. 1 and 2 and one or moreservers 120 as shown in, and described, above in connection with FIGS. 1and 2.

As illustrated, process 700 can begin by loading a client application at702. In some implementations, the client application can be loaded onany suitable user device, such as a smartphone, a tablet computer, awearable computer, etc. In a more particular example, the clientapplication can be loaded on a user device 102 as described above inconnection with FIGS. 1 and 2.

At 704, once the client application is loaded, the client applicationcan initiate presentation device discovery in some implementations. Forexample, presentation device discovery can be initiated on a network towhich the user device is connected. In a more particular example, theclient application can cause user device 102 to search for presentationdevices on a network (e.g., a Wi-Fi network) utilizing the Discovery AndLaunch (DIAL) protocol. In another more particular example, a fulldiscovery protocol can be executed that causes the computing device tosend a User Datagram Protocol (UDP) multicast message on a network towhich the user device is connected. In some implementations, the UDP caninclude an M-Search message directed to presentation devices, such asdigital media renderers and/or digital media servers, digital mediaplayers, or any other suitable presentation device that outputs,processes, and/or presents media content. In some implementations, theUDP multicast message can include an address of the device sending themessage (e.g., the network address of the user device), and can includea time period during which replies are to be sent. Such a time periodcan be any suitable time period, such as one second, two seconds, etc.,and can be set based on any suitable factors.

As another example, presentation device discovery can be initiated todetermine whether presentation devices are in a proximity of user device102. In another more particular example, the client application canexecute a BLUETOOTH Service Discovery Protocol (SDP) and/or any othersuitable SDP that allows a device to discover other devices through ashort-range connection.

It should be noted that, prior to initiating presentation devicediscovery or performing any action on the user device, the clientapplication can provide a user of user device 102 with an opportunity toprovide a consent or authorization to perform actions on the userdevice, such as detecting presentation devices connected to the userdevice, retrieving user preferences associated with the user, retrievingmedia content associated with the user, etc. For example, upon loadingthe client application on the user device, the client application canprompt the user to provide authorization for retrieving user preferencesassociated with the user device and/or a presentation device. In a moreparticular example, in response to downloading the client applicationand/or loading the client application on the user device, the user canbe prompted with a message that requests (or requires) that the userprovide consent prior to performing these actions. Additionally oralternatively, in response to installing the client application, theuser can be prompted with a permission message that requests (orrequires) that the user provide consent prior to performing theseactions.

In some implementations, upon detecting the presence of a presentationdevice (e.g., presentation device 110), the client application canreceive information about customized content being presented by thepresentation device at 706. In some implementations, the information canbe received from the presentation device, a server, and/or any othersuitable source.

In some implementations, the received information can includeidentifying information about the customized content (e.g., a contentidentifier, a URI, and/or any other suitable information that can beused to identify the customized content), identifying information aboutthe presentation device, and/or any other suitable information.

At 708, the client application can transmit a request for supplementalinformation related to the customized content to server 120. In someimplementations, the request can include the information received at 706and/or any other suitable information.

Upon receiving the request at 710, server 120 can retrieve metadataand/or any other suitable data related to the customized content at 712.For example, based on an image in a slideshow that is currently beingpresented on the presentation device, server 120 can retrieve a datablob or any other suitable information about the currently presentedimage and use the data blob to retrieve metadata associated with theimage. In some implementations, metadata related to the media contentcan be identified and/or retrieved based on the identifying informationrelated to the customized content, the identifying information relatedto the presentation device, and/or any other suitable information.

In some implementations, the metadata can contain any suitableinformation relating to the customized content, such as one or moretopics related to the customized content, information about the type ofinformation contained in the customized content (e.g., an image, avideo, a file type, etc.), information about the subject of thecustomized content (e.g., a description of what is depicted in animage), a source where the customized content originates (for example, asocial media post, a web page, a URI, etc.), information about one ormore users related to the customized content (e.g., a user that appearsin a photo), information about one or more authors of the customizedcontent, etc.

At 714, server 120 can obtain supplemental information related to thecustomized content based on the retrieved metadata. For example, thesupplemental information can be obtained by performing a search based onthe metadata (e.g., using the server and/or any other suitable deviceand/or service) and obtaining one or more search results. In a moreparticular example, if the customized content includes an image of apainting, the server can retrieve web pages, news articles, and/or anyother suitable content related to the painting, the artist of thepainting, etc., by performing a search based on the metadata related tothe painting. In another more particular example, if the customizedcontent includes a representation of a news article (e.g., an image ofthe news article), the server can obtain a link to the news article, asnippet of the news article and related news, and/or any other suitableinformation related to the news article by performing a search based onthe metadata related to the representation of the news article.

At 716, server 120 can transmit a response to user device 102 forpresenting the supplemental information. In some implementations, theresponse can include any suitable data that can be used to present thesupplemental information. For example, the response can include a link(e.g., a uniform resource locator (URL)), a barcode (e.g., a quickresponse (QR) code), and/or any other suitable mechanism directed to aweb page including supplemental information related to the customizedcontent, etc. As another example, the metadata can include a snippet ofweb content (e.g., a web page, text, video, etc.) including supplementalinformation related to the customized content.

In some implementations, the client application can receive the responseat 718. In some implementations, at 720, the client application cancause the supplemental information related to the customized content tobe presented by user device 102. In some implementations, thesupplementation information can be presented using text, images, icons,graphics, videos, animations, audio clips, hypertext, hyperlinks,sounds, and/or any other suitable content. In some implementations, themedia content can be presented using one or more content items asdescribed above in connection with FIG. 4.

In some implementations, the mechanisms described herein can includesoftware, firmware, hardware, or any suitable combination thereof. Forexample, the mechanisms described herein can encompass a computerprogram written in a programming language recognizable by one or more ofhardware processors 202, 212 and 222 (e.g., a program written in aprogramming language, such as, Java, C, Objective-C, C++, C#,Javascript, Visual Basic, or any other suitable approaches). As anotherexample, the mechanisms described herein can encompass codecorresponding to one or more Web pages or Web page portions (e.g., viaany suitable encoding, such as Hyper Text Markup Language (“HTML”),Dynamic Hyper Text Markup Language (“DHTML”), Extensible Markup Language(“XML”), JavaServer Pages (“JSP”), Active Server Pages (“ASP”), ColdFusion, or any other suitable approaches).

In some implementations, any suitable computer readable media can beused for storing instructions for performing the functions and/orprocesses described herein. For example, in some implementations,computer readable media can be transitory or non-transitory. Forexample, non-transitory computer readable media can include media suchas magnetic media (such as hard disks, floppy disks, etc.), opticalmedia (such as compact discs, digital video discs, Blu-ray discs, etc.),semiconductor media (such as flash memory, electrically programmableread only memory (EPROM), electrically erasable programmable read onlymemory (EEPROM), etc.), any suitable media that is not fleeting ordevoid of any semblance of permanence during transmission, and/or anysuitable tangible media. As another example, transitory computerreadable media can include signals on networks, in wires, conductors,optical fibers, circuits, any suitable media that is fleeting and devoidof any semblance of permanence during transmission, and/or any suitableintangible media.

It should be understood that the above described steps of the processesof FIGS. 3 and 5-7 can be executed or performed in any order or sequencenot limited to the order and sequence shown and described in thefigures. Also, some of the above steps of the process of FIGS. 3 and 5-7can be executed or performed substantially simultaneously whereappropriate or in parallel to reduce latency and processing times.

It should also be noted that, as used herein, the term mechanism canencompass hardware, software, firmware, or any suitable combinationthereof.

Accordingly, methods, systems, and media for associating multiple userswith a media presentation device are provided.

Although the invention has been described and illustrated in theforegoing illustrative implementations, it is understood that thepresent disclosure has been made only by way of example, and thatnumerous changes in the details of implementation of the invention canbe made without departing from the spirit and scope of the invention,which is limited only by the claims that follow. Features of thedisclosed implementations can be combined and rearranged in variousways.

What is claimed is:
 1. A method for determining content to be presented,the method comprising: receiving, using a hardware processor of a mediapresentation device, first user preferences associated with a first userof a first user device in proximity of the media presentation device andsecond user preferences associated with a second user of a second userdevice in proximity of the media presentation device; receiving, fromthe first user device, a request to associate the first user preferenceswith the media presentation device and receiving, from the second userdevice, a request to associate the second user preferences with themedia presentation device, wherein a third user having a third userdevice is in proximity of the media presentation device and isassociated with third user preferences and wherein a request toassociate the third user preferences with the media presentation devicehas not been received from the third user device; in response to therequest to associate the first user preferences with the mediapresentation device and in response to the request to associate thesecond user preferences with the media presentation device, causing thefirst user preferences and the second user preferences to be associatedwith identifying information of the media presentation device;determining that the first user preferences and the second userpreferences indicate that the first user and the second user areinterested in viewing photos associated with one or more users;receiving, from the media presentation device, a request to present aslideshow of images based on user preferences associated with the mediapresentation device; identifying, based on the first user preferences, aplurality of photos posted to a social networking site by the first userdevice, wherein the slideshow of images include the plurality of photosposted to the social networking site; selecting a subset of photos fromthe plurality of photos posted on the social networking site thatinclude the first user and the second user and do not include the thirduser; and in response to the request to present the slideshow of images,causing the slideshow of images to be presented by the mediapresentation device to users of the first user device, the second userdevice, and the third user device that are in the proximity of the mediapresentation device, wherein the subset of photos including the firstuser and the second user and not including the third user are containedin the slideshow of images.
 2. The method of claim 1, furthercomprising: receiving, from the media presentation device, identifyinginformation of the second user device; and in response to receiving theidentifying information of the second device, determining that thesecond user preferences are associated with the media presentationdevice.
 3. The method of claim 2, further comprising: generating a groupidentifier; associating the group identifier with the first device andthe second device; generating combined user preferences based on thefirst user preferences and the second user preferences; associating thecombined user preferences with the group identifier; and wherein causingthe content to be presented by the media presentation device furthercomprises causing the content to be presented by the media presentationdevice based on the combined user preferences.
 4. The method of claim 3,further comprising: receiving an indication that the second user deviceis no longer in proximity to the presentation device; and in response toreceiving the indication, inhibiting use of the combined userpreferences in determining which content is to be presented.
 5. Themethod of claim 1, further comprising: receiving, from the second userdevice, a request to disassociate the second user preferences from themedia presentation device; receiving, from the media presentationdevice, identifying information of the second user device; and inresponse to receiving the identifying information of the second userdevice, determining that there are not user preferences associated withthe second user device associated with the media presentation device. 6.The method of claim 1, further comprising: receiving, from the firstuser device, a request to associate the first user preferences with asecond media presentation device; in response to the request toassociate the first user preferences with the second media presentationdevice, causing the first user preferences to be associated withidentifying information of the second media presentation device;receiving, from the second media presentation device, a request topresent a slideshow of images based on user preferences associated withthe second media presentation device; receiving, from the second mediapresentation device, identifying information of the first user device;in response to receiving the identifying information of the firstdevice, determining that the first user preferences are associated withthe second media presentation device; and causing content to bepresented by the media presentation device based on user preferencesassociated with the media presentation device including the first userpreferences.
 7. The method of claim 1, wherein the first userpreferences indicate one or more topics of interest.
 8. A system fordetermining content to be presented, the system comprising: a hardwareprocessor that is programmed to: receive first user preferencesassociated with a first user of a first user device in proximity of amedia presentation device and second user preferences associated with asecond user of a second user device in proximity of the mediapresentation device; receive, from the first user device, a request toassociate the first user preferences with the media presentation deviceand receiving, from the second user device, a request to associate thesecond user preferences with the media presentation device, wherein athird user having a third user device is in proximity of the mediapresentation device and is associated with third user preferences andwherein a request to associate the third user preferences with the mediapresentation device has not been received from the third user device; inresponse to the request to associate the first user preferences with themedia presentation device and in response to the request to associatethe second user preferences with the media presentation device, causethe first user preferences and the second user preferences to beassociated with identifying information of the media presentationdevice; determine that the first user preferences and the second userpreferences indicate that the first user and the second user areinterested in viewing photos associated with one or more users; receive,from the media presentation device, a request to present a slideshow ofimages based on user preferences associated with the media presentationdevice; identify, based on the first user preferences, a plurality ofphotos posted to a social networking site by the first user device,wherein the slideshow of images include the plurality of photos postedto the social networking site; select a subset of photos from theplurality of photos posted on the social networking site that includethe first user and the second user and do not include the third user;and in response to the request to present the slideshow of images, causethe slideshow of images to be presented by the media presentation deviceto users of the first user device, the second user device, and the thirduser device that are in the proximity of the media presentation device,wherein the subset of photos including the first user and the seconduser and not including the third user are contained in the slideshow ofimages.
 9. The system of claim 8, wherein the hardware processor isfurther programmed to: receive, from the media presentation device,identifying information of the second user device; and in response toreceiving the identifying information of the second device, determinethat the second user preferences are associated with the mediapresentation device.
 10. The system of claim 9, wherein the hardwareprocessor is further programmed to: generate a group identifier;associate the group identifier with the first device and the seconddevice; generate combined user preferences based on the first userpreferences and the second user preferences; associate the combined userpreferences with the group identifier; and wherein causing the contentto be presented by the media presentation device further comprisescausing the content to be presented by the media presentation devicebased on the combined user preferences.
 11. The system of claim 10,wherein the hardware processor is further programmed to: receive anindication that the second user device is no longer in proximity to thepresentation device; and in response to receiving the indication,inhibit use of the combined user preferences in determining whichcontent is to be presented.
 12. The system of claim 8, wherein thehardware processor is further programmed to: receive, from the seconduser device, a request to disassociate the second user preferences fromthe media presentation device; receive, from the media presentationdevice, identifying information of the second user device; and inresponse to receiving the identifying information of the second userdevice, determine that there are not user preferences associated withthe second user device associated with the media presentation device.13. The system of claim 8, wherein the hardware processor is furtherprogrammed to: receive, from the first user device, a request toassociate the first user preferences with a second media presentationdevice; in response to the request to associate the first userpreferences with the second media presentation device, cause the firstuser preferences to be associated with identifying information of thesecond media presentation device; receive, from the second mediapresentation device, a request to present a slideshow of images based onuser preferences associated with the second media presentation device;receive, from the second media presentation device, identifyinginformation of the first user device; in response to receiving theidentifying information of the first device, determine that the firstuser preferences are associated with the second media presentationdevice; and cause content to be presented by the media presentationdevice based on user preferences associated with the media presentationdevice including the first user preferences.
 14. The system of claim 8,wherein the first user preferences indicate one or more topics ofinterest.
 15. A non-transitory computer-readable medium containingcomputer executable instructions that, when executed by a processor,cause the processor to perform a method for determining content to bepresented, the method comprising: receiving first user preferencesassociated with a first user of a first user device in proximity of amedia presentation device and second user preferences associated with asecond user of a second user device in proximity of the mediapresentation device; receiving, from the first user device, a request toassociate the first user preferences with the media presentation deviceand receiving, from the second user device, a request to associate thesecond user preferences with the media presentation device, wherein athird user having a third user device is in proximity of the mediapresentation device and is associated with third user preferences andwherein a request to associate the third user preferences with the mediapresentation device has not been received from the third user device; inresponse to the request to associate the first user preferences with themedia presentation device and in response to the request to associatethe second user preferences with the media presentation device, causingthe first user preferences and the second user preferences to beassociated with identifying information of the media presentationdevice; determining that the first user preferences and the second userpreferences indicate that the first user and the second user areinterested in viewing photos associated with one or more users;receiving, from the media presentation device, a request to present aslideshow of images based on user preferences associated with the mediapresentation device; identifying, based on the first user preferences, aplurality of photos posted to a social networking site by the first userdevice, wherein the slideshow of images include the plurality of photosposted to the social networking site; selecting a subset of photos fromthe plurality of photos posted on the social networking site thatinclude the first user and the second user and do not include the thirduser; and in response to the request to present the slideshow of images,causing the slideshow of images to be presented by the mediapresentation device to users of the first user device, the second userdevice, and the third user device that are in the proximity of the mediapresentation device, wherein the subset of photos including the firstuser and the second user and not including the third user are containedin the slideshow of images.
 16. The non-transitory computer-readablemedium of claim 15, wherein the method further comprises: receiving,from the media presentation device, identifying information of thesecond user device; and in response to receiving the identifyinginformation of the second device, determining that the second userpreferences are associated with the media presentation device.
 17. Thenon-transitory computer-readable medium of claim 16, wherein the methodfurther comprises: generating a group identifier; associating the groupidentifier with the first device and the second device; generatingcombined user preferences based on the first user preferences and thesecond user preferences; associating the combined user preferences withthe group identifier; and wherein causing the content to be presented bythe media presentation device further comprises causing the content tobe presented by the media presentation device based on the combined userpreferences.
 18. The non-transitory computer-readable medium of claim17, wherein the method further comprises: receiving an indication thatthe second user device is no longer in proximity to the presentationdevice; and in response to receiving the indication, inhibiting use ofthe combined user preferences in determining which content is to bepresented.
 19. The non-transitory computer-readable medium of claim 15,wherein the method further comprises: receiving, from the second userdevice, a request to disassociate the second user preferences from themedia presentation device; receiving, from the media presentationdevice, identifying information of the second user device; and inresponse to receiving the identifying information of the second userdevice, determining that there are not user preferences associated withthe second user device associated with the media presentation device.20. The non-transitory computer-readable medium of claim 15, wherein themethod further comprises: receiving, from the first user device, arequest to associate the first user preferences with a second mediapresentation device; in response to the request to associate the firstuser preferences with the second media presentation device, causing thefirst user preferences to be associated with identifying information ofthe second media presentation device; receiving, from the second mediapresentation device, a request to present a slideshow of images based onuser preferences associated with the second media presentation device;receiving, from the second media presentation device, identifyinginformation of the first user device; in response to receiving theidentifying information of the first device, determining that the firstuser preferences are associated with the second media presentationdevice; and causing content to be presented by the media presentationdevice based on user preferences associated with the media presentationdevice including the first user preferences.
 21. The non-transitorycomputer-readable medium of claim 15, wherein the first user preferencesindicate one or more topics of interest.